'''
    HTMLTestRunner
    unittest

'''
from HTMLTestRunner import HTMLTestRunner
import unittest

#  1.扫描加减乘除总共12条用例

tests = unittest.defaultTestLoader.discover(r"F:\python\test9",pattern="test9.py")
f = open(file="测试用例.html", mode="w+", encoding="utf-8")
#  2.创建运行器
runner = HTMLTestRunner.HTMLTestRunner(
    title = "测试用例报告",
    description="测试报告",
    verbosity=1,
    stream = f
)

# 3.使用运行器执行条12用例
runner.run(tests)
f.close()

# 任务一：完成乘法和除法的用例开发
# 任务二：将生成的测试报告发送到我的邮箱：13552648187@163.com
# 4.加入邮件的自动化发送报告。--python实现发送邮件。
import smtplib
from email.mime.text import MIMEText # 文本
from email.mime.multipart import MIMEMultipart # 附件
from email.header import Header # 配置一些头信息

# SGHYLZUWHOCYIJOE   srbfgzpyoisaeaac  wzfkufnzpdtjdjfc
sender = "709916058@qq.com"     # 发送人的邮件
recevises = ["13552648187@163.com"] # 接收人列表，可以写多个
mail_host = "smtp.qq.com"       # smtp邮箱的服务器地址
password = "bkduumnkytkobfcj"   # 本人邮件发送授权码
subject = "康博的测试用例数据"    # 本次邮件发送的主题

# message = MIMEText("这是一个计算器的测试邮件！！！","plain","utf-8")
message = MIMEMultipart()  # 附件管理器，能添加N多个附件
# 设置发送邮件的一些配置
message["From"] = Header("康博","utf-8")
message["TO"] = Header("测试","utf-8")
message["Subject"]  = Header(subject,"utf-8")

message.attach(MIMEText("这是附件","plain","utf-8"))
# 构造附件1，传送当前目录下的 test.txt 文件
att1 = MIMEText(open('测试用例.html', 'rb').read(), 'base64', 'utf-8')
att1["Content-Type"] = 'application/octet-stream'
# 这里的filename可以任意写，写什么名字，邮件中显示什么名字
att1["Content-Disposition"] = 'attachment;filename="kb.html"'  #  将文件名改为computer.html，对方显示就是computer.html
message.attach(att1)

try:
    smtp  = smtplib.SMTP() # smtp 发送器
    smtp.connect(mail_host,587)  # 连接邮箱服务器
    smtp.login(sender,password) # 登陆邮箱
    smtp.sendmail(sender,recevises,message.as_string()) # 发送
    print("发送成功！")
except Exception as error:
    print("邮件发送失败！",error)